package by.dvrudenko.avtobaza.dataaccess;

import java.util.List;

import javax.persistence.metamodel.SingularAttribute;

import by.dvrudenko.avtobaza.datamodel.Route;
import by.dvrudenko.avtobaza.datamodel.enums.OrderStatus;

public interface RouteDao extends AbstractDao<Long, Route> {
	
    Long getCount(Long id);
    
    Route getSingleRouteByUserOrderId(Long id);
    
    List<Route> getAllRoute();
    
    List<Route> getAllRouteActive(Boolean active);
    
	List<Route> getAllActiveRouteByStatus(OrderStatus orderStatus);
	
	Integer getAcomplishRoutesByDriverId(Long id);
	
	List<Route> getAllDriver(SingularAttribute<Route, ?> attr, boolean ascending, int startRecord, 
			int pageSize, Long DriverId);
	
	Route getRouteByUserOrder(Long id);
	
	List<Route> getRouteByAtr( SingularAttribute<Route, ?> attr , Long id);
	

}
